#include "widget.h"
#include "communicatList.h"
#include "login.h"
#include "my_register.h"
#include <QApplication>
#include <QStackedWidget>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    // Widget w;
    // w.show();

     auto* cl = new communicateList(); // 动态分配，生命周期由堆管理
    login *logi=new login();
     login* lg=logi->getInstance();

    lg->show();
    QObject::connect(lg,&login::loginSuccess,[&](const QString& username,const QString &nickname,const QString& path,const QString& last_login_time){
        lg->hide();
        cl->show();
        cl->set_baseInformation(username,nickname,path,last_login_time);
        cl->Chat();

    });
    //  QStackedWidget *stackedWidget=new QStackedWidget();
    // stackedWidget->addWidget(logi);
    // stackedWidget->addWidget(m_r);
    // stackedWidget->addWidget(cl);
    // stackedWidget->setCurrentWidget(logi);

    // QAbstractEventDispatcher::connect(logi,&login::reg,[&]()
    // {
    //     stackedWidget->setCurrentWidget(m_r);
    // });
    // QAbstractEventDispatcher::connect(logi,&login::loginSuccess,[&]()
    //                                   {
    //                                       stackedWidget->setCurrentWidget(cl);
    //                                   });
    // QAbstractEventDispatcher::connect(m_r,&my_register::regSuccess,[&]()
    //         {
    //             stackedWidget->setCurrentWidget(logi);
    // });
    // stackedWidget->show();
    return a.exec();
}
